310 research outputs found
Automated Benchmarking of Incremental SAT and QBF Solvers
Incremental SAT and QBF solving potentially yields improvements when
sequences of related formulas are solved. An incremental application is usually
tailored towards some specific solver and decomposes a problem into incremental
solver calls. This hinders the independent comparison of different solvers,
particularly when the application program is not available. As a remedy, we
present an approach to automated benchmarking of incremental SAT and QBF
solvers. Given a collection of formulas in (Q)DIMACS format generated
incrementally by an application program, our approach automatically translates
the formulas into instructions to import and solve a formula by an incremental
SAT/QBF solver. The result of the translation is a program which replays the
incremental solver calls and thus allows to evaluate incremental solvers
independently from the application program. We illustrate our approach by
different hardware verification problems for SAT and QBF solvers.Comment: camera-ready version (8 pages + 2 pages appendix), to appear in the
proceedings of the 20th International Conference on Logic for Programming,
Artificial Intelligence and Reasoning (LPAR), LNCS, Springer, 201
Finding Finite Models in Multi-Sorted First-Order Logic
This work extends the existing MACE-style finite model finding approach to
multi-sorted first order logic. This existing approach iteratively assumes
increasing domain sizes and encodes the related ground problem as a SAT
problem. When moving to the multi-sorted setting each sort may have a different
domain size, leading to an explosion in the search space. This paper focusses
on methods to tame that search space. The key approach adds additional
information to the SAT encoding to suggest which domains should be grown.
Evaluation of an implementation of techniques in the Vampire theorem prover
shows that they dramatically reduce the search space and that this is an
effective approach to find finite models in multi-sorted first order logic.Comment: SAT 201
A pearl on SAT solving in Prolog
A succinct SAT solver is presented that exploits the control provided by delay declarations to implement watched literals and unit propagation. Despite its brevity the solver is surprisingly powerful and its elegant use of Prolog constructs is presented as a programming pearl
A Metric Encoding for Bounded Model Checking (extended version)
In Bounded Model Checking both the system model and the checked property are
translated into a Boolean formula to be analyzed by a SAT-solver. We introduce
a new encoding technique which is particularly optimized for managing
quantitative future and past metric temporal operators, typically found in
properties of hard real time systems. The encoding is simple and intuitive in
principle, but it is made more complex by the presence, typical of the Bounded
Model Checking technique, of backward and forward loops used to represent an
ultimately periodic infinite domain by a finite structure. We report and
comment on the new encoding technique and on an extensive set of experiments
carried out to assess its feasibility and effectiveness
Propositional Encoding of Constraints over Tree-Shaped Data
We present a functional programming language for specifying constraints over
tree-shaped data. The language allows for Haskell-like algebraic data types and
pattern matching. Our constraint compiler CO4 translates these programs into
satisfiability problems in propositional logic. We present an application from
the area of automated analysis of (non-)termination of rewrite systems
Generalized Totalizer Encoding for Pseudo-Boolean Constraints
Pseudo-Boolean constraints, also known as 0-1 Integer Linear Constraints, are
used to model many real-world problems. A common approach to solve these
constraints is to encode them into a SAT formula. The runtime of the SAT solver
on such formula is sensitive to the manner in which the given pseudo-Boolean
constraints are encoded. In this paper, we propose generalized Totalizer
encoding (GTE), which is an arc-consistency preserving extension of the
Totalizer encoding to pseudo-Boolean constraints. Unlike some other encodings,
the number of auxiliary variables required for GTE does not depend on the
magnitudes of the coefficients. Instead, it depends on the number of distinct
combinations of these coefficients. We show the superiority of GTE with respect
to other encodings when large pseudo-Boolean constraints have low number of
distinct coefficients. Our experimental results also show that GTE remains
competitive even when the pseudo-Boolean constraints do not have this
characteristic.Comment: 10 pages, 2 figures, 2 tables. To be published in 21st International
Conference on Principles and Practice of Constraint Programming 201
Domino Tatami Covering is NP-complete
A covering with dominoes of a rectilinear region is called \emph{tatami} if
no four dominoes meet at any point. We describe a reduction from planar 3SAT to
Domino Tatami Covering. As a consequence it is NP-complete to decide whether
there is a perfect matching of a graph that meets every 4-cycle, even if the
graph is restricted to be an induced subgraph of the grid-graph. The gadgets
used in the reduction were discovered with the help of a SAT-solver.Comment: 10 pages, accepted at The International Workshop on Combinatorial
Algorithms (IWOCA) 201
A geometric constraint over k-dimensional objects and shapes subject to business rules
This report presents a global constraint that enforces rules written
in a language based on arithmetic and first-order logic to hold among a set of objects. In a first step, the rules are rewritten to Quantifier-Free Presburger Arithmetic (QFPA) formulas. Secondly, such
formulas are compiled to generators of k-dimensional forbidden sets. Such generators are a generalization of the indexicals of cc(FD). Finally, the forbidden sets generated by such indexicals are
aggregated by a sweep-based algorithm and used for filtering. The business rules allow to express a great variety of packing and placement constraints, while admitting efficient and effective filtering of the domain variables of the k-dimensional object, without the need to use spatial data structures. The constraint was used to directly encode the packing knowledge of a major car manufacturer and tested on a set of real packing problems under these rules, as well as on a packing-unpacking problem
Incrementally Computing Minimal Unsatisfiable Cores of QBFs via a Clause Group Solver API
We consider the incremental computation of minimal unsatisfiable cores (MUCs)
of QBFs. To this end, we equipped our incremental QBF solver DepQBF with a
novel API to allow for incremental solving based on clause groups. A clause
group is a set of clauses which is incrementally added to or removed from a
previously solved QBF. Our implementation of the novel API is related to
incremental SAT solving based on selector variables and assumptions. However,
the API entirely hides selector variables and assumptions from the user, which
facilitates the integration of DepQBF in other tools. We present implementation
details and, for the first time, report on experiments related to the
computation of MUCs of QBFs using DepQBF's novel clause group API.Comment: (fixed typo), camera-ready version, 6-page tool paper, to appear in
proceedings of SAT 2015, LNCS, Springe
Computing Storyline Visualizations with Few Block Crossings
Storyline visualizations show the structure of a story, by depicting the
interactions of the characters over time. Each character is represented by an
x-monotone curve from left to right, and a meeting is represented by having the
curves of the participating characters run close together for some time. There
have been various approaches to drawing storyline visualizations in an
automated way. In order to keep the visual complexity low, rather than
minimizing pairwise crossings of curves, we count block crossings, that is,
pairs of intersecting bundles of lines.
Partly inspired by the ILP-based approach of Gronemann et al. [GD 2016] for
minimizing the number of pairwise crossings, we model the problem as a
satisfiability problem (since the straightforward ILP formulation becomes more
complicated and harder to solve). Having restricted ourselves to a decision
problem, we can apply powerful SAT solvers to find optimal drawings in
reasonable time. We compare this SAT-based approach with two exact algorithms
for block crossing minimization, using both the benchmark instances of
Gronemann et al. and random instances. We show that the SAT approach is
suitable for real-world instances and identify cases where the other algorithms
are preferable.Comment: Appears in the Proceedings of the 25th International Symposium on
Graph Drawing and Network Visualization (GD 2017
- …